草庐IT

C++ sizeof 包装类

全部标签

python - Python 的最佳 Cassandra 库/包装器?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭9年前。Improvethisquestion我找到了lazyboy和pycassa-也许还有其他人。我看过很多推荐lazyboy的网站。恕我直言,该项目似乎已死,请参阅https://www.ohloh.net/p/compare?project_0=pycassa&project_1=lazyboy那么,新项目的最佳选择是什么?谢谢。 最佳答案 Cassandra项目现在一直建

c++ - 如何用 Cython 包装 C++ 类?

我有一个C++类(class)。它由一个.ccp文件和一个.h文件组成。它可以编译(我可以编写一个在c++中成功使用它的主要方法)。如何使用Cython包装此类以使其在Python中可用?我已阅读文档但未遵循。他们谈论生成cpp文件。当我尝试关注文档时,我已经存在的cpp被吹走了......我打算在pyx文件中放入什么?我被告知类定义,但有多少?只是公共(public)方法?我需要一个.pxd文件吗?我不明白何时需要或不需要此文件。我已尝试在#pythonIRCchannel中提出这些问题,但无法得到答案。 最佳答案 Cython通

c++ - 用于将 cython 中的许多 c++ 类包装到单个共享对象的项目结构

我在文档、邮件列表和thisquestionhere之间找到了部分答案。,但我想得到一个更直接的答案来解决我的具体问题......我正在学习cython,方法是尝试一点一点地包装我已经在使用的库的小部分,该库目前包装在boost::python中。我为这个boost包装器贡献了一点点,并将它用作c++引用,同时我正在使用ZeroMQPythonbindings作为cython引用。我的问题是关于项目结构的。这个库的当前boost版本编译为单个.so,这就是我的目标。我很快发现你不能直接将多个.pyx模块编译为单个.so。然后我开始在pxd文件中定义cppclass的路线,并在.pxi中

python - 如何在 SWIG 包装器库中将 C++ 异常传播到 Python?

我正在围绕自定义C++库编写SWIG包装器,该库定义了自己的C++异常类型。该库的异常类型比标准异常更丰富、更具体。(例如,一个类表示解析错误并具有一组行号。)如何在保留异常类型的同时将这些异常传播回Python? 最佳答案 我知道这个问题已经有几个星期了,但我在为自己研究解决方案时才发现它。所以我会尝试回答,但我会提前警告它可能不是一个有吸引力的解决方案,因为swig接口(interface)文件可能比手动编码包装器更复杂。此外,据我所知,swig文档从不直接处理用户定义的异常。假设您想从您的c++代码模块mylibrary.cp

python - 在 Python 中完全包装一个对象

我想完全包装一个对象,以便所有属性和方法请求都转发到它所包装的对象,但也覆盖我想要的任何方法或变量,以及提供一些我自己的方法。这个包装类应该100%显示为现有类(isinstance必须像它实际上是类一样),但是子类化本身不会削减它,因为我想包装现有的对象。Python中有一些解决方案可以做到这一点吗?我的想法是这样的:classObjectWrapper(BaseClass):def__init__(self,baseObject):self.baseObject=baseObjectdefoverriddenMethod(self):...defmyOwnMethod1(self)

SQLite 的 Python 轻量级数据库包装器

Python中是否有可用于SQLite的轻量级数据库包装器。我想要Django的ORM之类的东西,但我可以只指向一个数据库文件,它会为我生成所需的API(即处理所有的CRUD)。 最佳答案 是的,SQLAlchemy很棒,但还有其他选择。其中之一是Peewee。非常轻巧,它可能与您正在寻找的完美契合。https://github.com/coleifer/peewee 关于SQLite的Python轻量级数据库包装器,我们在StackOverflow上找到一个类似的问题:

python - 包装超过 80 个字符的 python doctest 结果

我正在尝试将我的源代码保持在PEP8推荐的80个字符guideline宽度之下,但不知道如何包装我的结果超过80个字符的doctest。p>一个点头的例子:deflong_string():"""ReturnsastringwhichiswiderthantherecommendedPEP8linewidth>>>printlong_string()0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"""return'0123456789

python - 用于包装尝试的通用装饰器除了在 python 中?

我会与很多我没有编写的深度嵌套的json进行交互,并且想让我的python脚本对无效输入更加“宽容”。我发现自己在编写涉及try-exceptblock,而宁愿将可疑的函数包装起来。我知道吞下异常是一个糟糕的策略,但我宁愿稍后打印和分析它们,而不是实际停止执行。在我的用例中,继续循环执行比获取所有键更有值(value)。这是我现在正在做的事情:try:item['a']=myobject.get('key').METHOD_THAT_DOESNT_EXIST()except:item['a']=''try:item['b']=OBJECT_THAT_DOESNT_EXIST.get('

python - 用 cython 简单包装 C 代码

我有许多C函数,我想从python调用它们。cython似乎是要走的路,但我真的找不到一个例子来说明这是如何完成的。我的C函数如下所示:voidcalculate_daily(char*db_name,intgrid_id,intyear,double*dtmp,double*dtmn,double*dtmx,double*dprec,double*ddtr,double*dayl,double*dpet,double*dpar);我要做的就是指定前三个参数(一个字符串和两个整数),并恢复8个numpy数组(或python列表。所有double组都有N个元素)。我的代码假定指针指向已分

java - java 集合的不可修改包装器是否使它们成为线程安全的?

我需要使ArrayLists的ArrayList线程安全。我也不能让客户对Collection进行更改。不可修改的包装器会使其成为线程安全的,还是我需要在集合上使用两个包装器? 最佳答案 这取决于。包装器只会阻止对其包装的集合进行更改,而不是对集合中的对象进行更改。如果你有一个由ArrayList组成的ArrayList,那么全局List以及它的每个元素List都需要单独包装,而且你可能还需要为这些列表的内容做一些事情。最后,您必须确保原始列表对象未更改,因为包装器仅防止通过包装器引用进行更改,而不是更改原始对象。在这种情况下,您不